@echo off
chcp 65001 >nul

echo 🚀 开始设置 OffGrid 后台管理系统...

REM 检查Node.js版本
echo 📋 检查Node.js版本...
node --version >nul 2>&1
if errorlevel 1 (
    echo ❌ 错误: 未找到Node.js，请先安装Node.js 16.16.0
    pause
    exit /b 1
)

for /f "tokens=*" %%a in ('node --version') do set node_version=%%a
if not "%node_version%"=="v16.16.0" (
    echo ❌ 错误: 需要Node.js 16.16.0，当前版本: %node_version%
    pause
    exit /b 1
)
echo ✅ Node.js版本检查通过: %node_version%

REM 检查npm版本
echo 📋 检查npm版本...
npm --version >nul 2>&1
if errorlevel 1 (
    echo ❌ 错误: 未找到npm，请先安装npm 8或更高版本
    pause
    exit /b 1
)

for /f "tokens=1 delims=." %%a in ('npm --version') do set npm_version=%%a
if %npm_version% LSS 8 (
    echo ❌ 错误: 需要npm 8或更高版本
    pause
    exit /b 1
)
echo ✅ npm版本检查通过

REM 安装依赖
echo 📦 安装项目依赖...
npm install
if errorlevel 1 (
    echo ❌ 依赖安装失败
    pause
    exit /b 1
)

REM 创建环境变量文件
echo ⚙️ 创建环境变量文件...
if not exist .env (
    copy env.example .env
    echo ✅ 已创建 .env 文件，请编辑配置数据库连接信息
) else (
    echo ℹ️ .env 文件已存在
)

REM 创建日志目录
echo 📁 创建日志目录...
if not exist logs mkdir logs

REM 创建上传目录
echo 📁 创建上传目录...
if not exist uploads mkdir uploads

REM 生成Prisma客户端
echo 🔧 生成Prisma客户端...
npx prisma generate
if errorlevel 1 (
    echo ❌ Prisma客户端生成失败
    pause
    exit /b 1
)

echo.
echo 🎉 项目设置完成！
echo.
echo 📝 接下来的步骤：
echo 1. 编辑 .env 文件，配置数据库连接信息
echo 2. 创建MySQL数据库: CREATE DATABASE offgrid_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
echo 3. 运行数据库迁移: npm run db:migrate
echo 4. 初始化数据库: npm run db:seed
echo 5. 启动开发服务器: npm run dev
echo.
echo 🔗 相关链接：
echo - API文档: http://localhost:3000/api-docs
echo - 健康检查: http://localhost:3000/health
echo.
echo 👤 默认管理员账户：
echo - 用户名: admin
echo - 密码: admin123
echo - 邮箱: admin@offgrid.com
echo.
pause 